#ifndef LOGGER_H_
#define LOGGER_H_

#include <string>
#include <stdio.h>

namespace util {

/*
 * Clase abstracta para loguear mensajes ya sea de error o warn.
 */
class Logger {
public:
	/*
	 * Constructor.
	 */
	Logger();
	/*
	 * Destructor.
	 */
	virtual ~Logger();
	/*
	 * Loguea en el archivo de errores el mensaje.
	 */
	virtual void error(std::string message) = 0;
	/*
	 * Loguea en el archivo de errores el warning.
	 */
	virtual void warn(std::string message) = 0;
	/*
	 * Loguea en consola la informacion.
	 */
	virtual void info(std::string message) = 0;
protected:
	std::string getCurrentTime();
	std::string buildMessage(std::string message, std::string type);
};
}
#endif /* LOGGER_H_ */
